This invention relates to the field of communications. More particularly, a system and methods are provided for aggregating communication connections of multiple users of a common application or service.
Web-based applications and services are characterized by thousands or even millions of communication connections for those that are the most popular and successful. Each user connects separately to the system that hosts the application, and his or her connection may be terminated at any of multiple servers or front-ends. Because each such server is configured to support use of the application or service, it usually does not matter to a particular user which server he or she is connected to.
If the system that hosts the application or service supports the exchange of communications among users, such as via instant messaging, electronic mail, file sharing or some other function, a communication generated by one user connected to one server will usually need to be routed through the system to a different server to which the target user is connected. The more users the system hosts, and the more communications those users exchange, the more time and resources must be expended supporting their communications. Any network or other communication links for interconnecting system components may become saturated if enough users are on-line.
In addition, routing user-to-user communications may require checking the destination users' statuses (e.g., on-line or off-line), determining where their connections are terminated, identifying communication paths to those termination points and routing the communications accordingly. This processing adds latency, in addition to tying up system resources.